public class MoverCaballo implements MoverPieza {

	public void movimiento(Tablero tablero, Pieza pieza, int filaDestino, String columnaDestino) {
	
		if(pieza.diferenciaFila(filaDestino)==2 || pieza.diferenciaFila(filaDestino)==-2){ // si el caballo se mueve dos casilleros adelante o dos casilleros atras
			if(tablero.diferenciaColumna(pieza, columnaDestino)==1 || tablero.diferenciaColumna(pieza, columnaDestino)==-1){ // si el caballo se mueve un casillero a la derecha o a la izquierda
				System.out.println(pieza.detectarMovimiento(filaDestino, columnaDestino));
				tablero.mover(pieza, filaDestino, columnaDestino);
			}
			else{
				System.out.println("movimiento incorrecto, no se puede mover asi el caballo");
			}
		}
		else if(tablero.diferenciaColumna(pieza, columnaDestino)==2 || tablero.diferenciaColumna(pieza, columnaDestino)==-2){ // si el caballo se mueve dos casilleros a la derecha o dos casilleros a la izquierda
			if(pieza.diferenciaFila(filaDestino)==1 || pieza.diferenciaFila(filaDestino)==-1){ // si el caballo se mueve un casillero adelante o un casillero atras
				System.out.println(pieza.detectarMovimiento(filaDestino, columnaDestino));
				tablero.mover(pieza, filaDestino, columnaDestino);
			}
			else{
				System.out.println("movimiento incorrecto, no se puede mover asi el caballo");
			}	
		}
		else if(pieza.getFila()==filaDestino && pieza.getColumna()==columnaDestino){ // si la fila es igual a la filaDestino y la columna es igual a la columnaDestino
			System.out.println("movimiento incorrecto, no se movio el caballo");
		}
		else{
			System.out.println("movimiento incorrecto, no se puede mover asi el caballo");
		}
	}
}
